package com.by.log.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 日志配置属性类
 */
@Data
@Component
@ConfigurationProperties(prefix = "miaosha.log")
public class LogProperties {
    /**
     * 是否启用异步模式
     */
    private boolean asyncMode = true;
    
    /**
     * 默认日志文件路径
     */
    private String defaultLogFilePath = "./logs/miaosha.log";
    
    /**
     * 批量处理大小
     */
    private int batchSize = 100;
    
    /**
     * 批量处理间隔（毫秒）
     */
    private long batchInterval = 5000;
    
    /**
     * 数据库日志级别
     */
    private String dbLogLevel = "WARN";
    
    /**
     * 文件日志级别
     */
    private String fileLogLevel = "INFO";
    
    /**
     * 秒杀场景下的采样率（0-1之间，1表示100%记录）
     */
    private double seckillSampleRate = 0.1;
    
    /**
     * 是否在秒杀高峰期启用动态采样
     */
    private boolean enableDynamicSampling = true;
    
    /**
     * 高峰期开始时间（小时）
     */
    private int peakStartHour = 9;
    
    /**
     * 高峰期结束时间（小时）
     */
    private int peakEndHour = 22;
}